Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #pragma once
- using namespace std;
- class Zespolona
- {
- private:
- int Rzeczywista;
- int czescZespolona; //czesc zespolona
- int potegaI = 1 ; // potega czesci zespolonej, jesli parzysta, mnozenie przez -1
- public:
- Zespolona()
- {
- this->Rzeczywista = 0;
- this -> czescZespolona = 0;
- }
- Zespolona(int x, int y) //czesc rzeczywista, czesc zespolona
- {
- this->Rzeczywista = x;
- this->czescZespolona = y;
- }
- Zespolona(int x, int y, int p)
- {
- this->Rzeczywista = x;
- this->czescZespolona = y;
- this->potegaI = p;
- if (potegaI % 2 == 0)
- {
- czescZespolona *= -1;
- Rzeczywista += czescZespolona;
- czescZespolona = NULL;
- potegaI = 1;
- }
- }
- Zespolona operator+(Zespolona second)
- {
- Zespolona wynik;
- wynik.Rzeczywista = Rzeczywista + second.Rzeczywista;
- wynik.czescZespolona = czescZespolona + second.czescZespolona;
- return wynik;
- }
- Zespolona operator-(Zespolona second)
- {
- Zespolona wynik;
- wynik.Rzeczywista = Rzeczywista - second.Rzeczywista;
- wynik.czescZespolona = czescZespolona - second.czescZespolona;
- return wynik;
- }
- Zespolona operator*(Zespolona second)
- {
- Zespolona wynik;
- wynik.Rzeczywista = Rzeczywista * second.Rzeczywista;
- wynik.czescZespolona = czescZespolona * second.czescZespolona;
- return wynik;
- }
- Zespolona operator*(int liczba)
- {
- Zespolona wynik;
- wynik.Rzeczywista = Rzeczywista * liczba;
- wynik.czescZespolona = czescZespolona * liczba;
- return wynik;
- }
- friend ostream& operator<< (std::ostream& stream, const Zespolona& XYZ) {
- stream << XYZ.Rzeczywista << " + i" << XYZ.czescZespolona;
- return stream;
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement